package com.matt.service;

import com.matt.controller.po.ChildrenPO;
import com.matt.domain.WorkDate;
import com.matt.foundation.dto.teach.ChildDTO;
import com.matt.foundation.dto.teach.ChildrenNurseryRecordDTO;
import com.matt.foundation.dto.teach.ClassDTO;
import com.matt.foundation.dto.teach.EarlyChangeRecordDTO;

import java.util.Date;
import java.util.List;

/**
 * *******************************
 * Created by Ron.
 * form com.matt
 * on 2018/7/26
 * *******************************
 */
public interface TeachCallService {
    boolean addChild(String crmClienteleId, String childrenName, String nickName, Integer gender, String birthday, String areaId, String address, String name, String phone, String company, String relation, String staffId);
    boolean activeChild(String clienteleId, String contractBeginDate, String contractEndDate, String productJson);
    boolean overAllNurseryContract(String clienteleId, String remark, String staffId);
    boolean overAllEarlyContract(String clienteleId, String remark, String staffId);
    boolean overEarlyContract(String clienteleId, int count, String remark, String staffId);
    boolean updateNurseryLimitCount(String paramJson, String date);
    Long findCountByClienteleIds(String clienteleIds,String date);

    boolean updateChildInfo(String areaId,String clienteleId ,String childName, boolean freeze);

    boolean notifyPayOrder(String areaId, String clienteleId, String childrenName, String teacherName,
                           String orderTitle, String amount, String payType,
                           Integer rt, String rid);

    List<ChildDTO> getChildClassList(String ticket, Integer category, String name, String classId, List<String> crmClienteleIds);
    List<ClassDTO> getClassList(String ticket, Integer category);

    //查询指定学生合同期限内的签到时间
    Long findCheckInCountByDateAndClienteleId(String ticket,String clienteleId, Date beginDate, Date endDate);

    //查询指定学生合同期限内的请假次数
    Long findLeaveCountByDateAndClienteleId(String ticket,String clienteleId, Date beginDate, Date endDate);

    boolean addCameraTime(String clienteleId, Integer month, Integer day);

    ChildDTO childrenIdByChildren(String childrenId);

    List<WorkDate> getWorkDateList(String beginDate, String endDate);

    List<ChildrenNurseryRecordDTO> getNurseryRecords(String clienteleId, String beginDate, String endDate);
    List<EarlyChangeRecordDTO> getEarlyRecords(String clienteleId, String beginDate, String endDate);

    String addByLeads(String ticket, ChildrenPO po);
}
